Representational State Transfer,簡稱 REST,它是一種網路架構風格,近幾年來 REST 的概念已經被實作在大型網路系統中,而在 Web Service 中使用 REST 概念被實作出來的 API 就簡稱為 RESTful API 他是使用 HTTP 的協定完整定義 Web Service 在 HTTP Request 的各種流程。
HTTP 本身就是 REST 的實作,所謂的 HTTP Request 定義了八種請求方法分別為:
經由 wiki 定義 REST 風格最重要的架構約束有六個:
我們設計 API 時,要保證 RESTful API 的安全性,原因是 PUT 或 DELETE 其實並不安全在沒有權限認證下任何人都可以存取此方法,總不能輕易地隨意讓一位陌生人來更動你的資料對吧?因此若安全性沒有做足容易就成為駭客攻擊的對象。
基本流程如下:
會員機制(帳號密碼) -> 服務端驗證成功並取得一組 API token -> 使用此組 token 訪問 API 資源
BAD
GOOD
MVC 一種軟體架構模式,把系統分成三個種核心,分別為:Model, View, Controller,這三個套用在 Web 分別為前端 HTML+CSS (View),後端 API 資料庫(Model),控制後端資料庫的接口 JavaScript (Controller)
優點如下:
本篇文章解釋了 RESTful API 定義與規範,可以讓開發者了解其功能性,此外建立良好的 MVC 架構有助於日後程式開發的茁壯,直覺、簡單、快速才是一個良好的 API 設計。
文章同時發表於:https://andy6804tw.github.io/2017/12/17/restful-mvc-intro/